home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / flex / flexs237.zoo / Changes < prev    next >
Text File  |  1991-03-29  |  13KB  |  346 lines

  1. Changes between 2.3 Patch #7 (28Mar91) and 2.3 Patch #6:
  2.  
  3.     - Fixed out-of-bounds array access that caused bad tables
  4.       to be produced on machines where the bad reference happened
  5.       to yield a 1.  This caused problems installing or running
  6.       flex on some Suns, in particular.
  7.  
  8.  
  9. Changes between 2.3 Patch #6 (29Aug90) and 2.3 Patch #5:
  10.  
  11.     - Fixed a serious bug in yymore() which basically made it
  12.       completely broken.  Thanks goes to Jean Christophe of
  13.       the Nethack development team for finding the problem
  14.       and passing along the fix.
  15.  
  16.  
  17. Changes between 2.3 Patch #5 (16Aug90) and 2.3 Patch #4:
  18.  
  19.     - An up-to-date version of initscan.c so "make test" will
  20.       work after applying the previous patches
  21.  
  22.  
  23. Changes between 2.3 Patch #4 (14Aug90) and 2.3 Patch #3:
  24.  
  25.     - Fixed bug in hexadecimal escapes which allowed only digits,
  26.       not letters, in escapes
  27.     - Fixed bug in previous "Changes" file!
  28.  
  29.  
  30. Changes between 2.3 Patch #3 (03Aug90) and 2.3 Patch #2:
  31.  
  32.     - Correction to patch #2 for gcc compilation; thanks goes to
  33.       Paul Eggert for catching this.
  34.  
  35.  
  36. Changes between 2.3 Patch #2 (02Aug90) and original 2.3 release:
  37.  
  38.     - Fixed (hopefully) headaches involving declaring malloc()
  39.       and free() for gcc, which defines __STDC__ but (often) doesn't
  40.       come with the standard include files such as <stdlib.h>.
  41.       Reordered #ifdef maze in the scanner skeleton in the hope of
  42.       getting the declarations right for cfront and g++, too.
  43.  
  44.     - Note that this patch supercedes patch #1 for release 2.3,
  45.       which was never announced but was available briefly for
  46.       anonymous ftp.
  47.  
  48.  
  49. Changes between 2.3 (full) release of 28Jun90 and 2.2 (alpha) release:
  50.  
  51.     User-visible:
  52.  
  53.     - A lone <<EOF>> rule (that is, one which is not qualified with
  54.       a list of start conditions) now specifies the EOF action for
  55.       *all* start conditions which haven't already had <<EOF>> actions
  56.       given.  To specify an end-of-file action for just the initial
  57.       state, use <INITIAL><<EOF>>.
  58.  
  59.     - -d debug output is now contigent on the global yy_flex_debug
  60.       being set to a non-zero value, which it is by default.
  61.  
  62.     - A new macro, YY_USER_INIT, is provided for the user to specify
  63.       initialization action to be taken on the first call to the
  64.       scanner.  This action is done before the scanner does its
  65.       own initialization.
  66.  
  67.     - yy_new_buffer() has been added as an alias for yy_create_buffer()
  68.  
  69.     - Comments beginning with '#' and extending to the end of the line
  70.       now work, but have been deprecated (in anticipation of making
  71.       flex recognize #line directives).
  72.  
  73.     - The funky restrictions on when semi-colons could follow the
  74.       YY_NEW_FILE and yyless macros have been removed.  They now
  75.       behave identically to functions.
  76.  
  77.     - A bug in the sample redefinition of YY_INPUT in the documentation
  78.       has been corrected.
  79.  
  80.     - A bug in the sample simple tokener in the documentation has
  81.       been corrected.
  82.  
  83.     - The documentation on the incompatibilities between flex and
  84.       lex has been reordered so that the discussion of yylineno
  85.       and input() come first, as it's anticipated that these will
  86.       be the most common source of headaches.
  87.  
  88.  
  89.     Things which didn't used to be documented but now are:
  90.  
  91.     - flex interprets "^foo|bar" differently from lex.  flex interprets
  92.       it as "match either a 'foo' or a 'bar', providing it comes at the
  93.       beginning of a line", whereas lex interprets it as "match either
  94.       a 'foo' at the beginning of a line, or a 'bar' anywhere".
  95.  
  96.     - flex initializes the global "yyin" on the first call to the
  97.       scanner, while lex initializes it at compile-time.
  98.  
  99.     - yy_switch_to_buffer() can be used in the yywrap() macro/routine.
  100.  
  101.     - flex scanners do not use stdio for their input, and hence when
  102.       writing an interactive scanner one must explictly call fflush()
  103.       after writing out a prompt.
  104.  
  105.     - flex scanner can be made reentrant (after a fashion) by using
  106.       "yyrestart( yyin );".  This is useful for interactive scanners
  107.       which have interrupt handlers that long-jump out of the scanner.
  108.  
  109.     - a defense of why yylineno is not supported is included, along
  110.       with a suggestion on how to convert scanners which rely on it.
  111.  
  112.  
  113.     Other changes:
  114.  
  115.     - Prototypes and proper declarations of void routines have
  116.       been added to the flex source code, courtesy of Kevin B. Kenny.
  117.  
  118.     - Routines dealing with memory allocation now use void* pointers
  119.       instead of char* - see Makefile for porting implications.
  120.  
  121.     - Error-checking is now done when flex closes a file.
  122.  
  123.     - Various lint tweaks were added to reduce the number of gripes.
  124.  
  125.     - Makefile has been further parameterized to aid in porting.
  126.  
  127.     - Support for SCO Unix added.
  128.  
  129.     - Flex now sports the latest & greatest UC copyright notice
  130.       (which is only slightly different from the previous one).
  131.  
  132.     - A note has been added to flexdoc.1 mentioning work in progress
  133.       on modifying flex to generate straight C code rather than a
  134.       table-driven automaton, with an email address of whom to contact
  135.       if you are working along similar lines.
  136.  
  137.  
  138. Changes between 2.2 Patch #3 (30Mar90) and 2.2 Patch #2:
  139.  
  140.     - fixed bug which caused -I scanners to bomb
  141.  
  142.  
  143. Changes between 2.2 Patch #2 (27Mar90) and 2.2 Patch #1:
  144.  
  145.     - fixed bug writing past end of input buffer in yyunput()
  146.     - fixed bug detecting NUL's at the end of a buffer
  147.  
  148.  
  149. Changes between 2.2 Patch #1 (23Mar90) and 2.2 (alpha) release:
  150.  
  151.     - Makefile fixes: definition of MAKE variable for systems
  152.       which don't have it; installation of flexdoc.1 along with
  153.       flex.1; fixed two bugs which could cause "bigtest" to fail.
  154.  
  155.     - flex.skel fix for compiling with g++.
  156.  
  157.     - README and flexdoc.1 no longer list an out-of-date BITNET address
  158.       for contacting me.
  159.  
  160.     - minor typos and formatting changes to flex.1 and flexdoc.1.
  161.  
  162.  
  163. Changes between 2.2 (alpha) release of March '90 and previous release:
  164.  
  165.     User-visible:
  166.  
  167.     - Full user documentation now available.
  168.  
  169.     - Support for 8-bit scanners.
  170.  
  171.     - Scanners now accept NUL's.
  172.  
  173.     - A facility has been added for dealing with multiple
  174.       input buffers.
  175.  
  176.     - Two manual entries now.  One which fully describes flex
  177.       (rather than just its differences from lex), and the
  178.       other for quick(er) reference.
  179.  
  180.     - A number of changes to bring flex closer into compliance
  181.       with the latest POSIX lex draft:
  182.  
  183.         %t support
  184.         flex now accepts multiple input files and concatenates
  185.             them together to form its input
  186.         previous -c (compress) flag renamed -C
  187.         do-nothing -c and -n flags added
  188.         Any indented code or code within %{}'s in section 2 is
  189.             now copied to the output
  190.  
  191.     - yyleng is now a bona fide global integer.
  192.  
  193.     - -d debug information now gives the line number of the
  194.       matched rule instead of which number rule it was from
  195.       the beginning of the file.
  196.  
  197.     - -v output now includes a summary of the flags used to generate
  198.       the scanner.
  199.  
  200.     - unput() and yyrestart() are now globally callable.
  201.  
  202.     - yyrestart() no longer closes the previous value of yyin.
  203.  
  204.     - C++ support; generated scanners can be compiled with C++ compiler.
  205.  
  206.     - Primitive -lfl library added, containing default main()
  207.       which calls yylex().  A number of routines currently living
  208.       in the scanner skeleton will probably migrate to here
  209.       in the future (in particular, yywrap() will probably cease
  210.       to be a macro and instead be a function in the -lfl library).
  211.  
  212.     - Hexadecimal (\x) escape sequences added.
  213.  
  214.     - Support for MS-DOS, VMS, and Turbo-C integrated.
  215.  
  216.     - The %used/%unused operators have been deprecated.  They
  217.       may go away soon.
  218.  
  219.  
  220.     Other changes:
  221.  
  222.     - Makefile enhanced for easier testing and installation.
  223.     - The parser has been tweaked to detect some erroneous
  224.       constructions which previously were missed.
  225.     - Scanner input buffer overflow is now detected.
  226.     - Bugs with missing "const" declarations fixed.
  227.     - Out-of-date Minix/Atari patches provided.
  228.     - Scanners no longer require printf() unless FLEX_DEBUG is being used.
  229.     - A subtle input() bug has been fixed.
  230.     - Line numbers for "continued action" rules (those following
  231.       the special '|' action) are now correct.
  232.     - unput() bug fixed; had been causing problems porting flex to VMS.
  233.     - yymore() handling rewritten to fix bug with interaction
  234.       between yymore() and trailing context.
  235.     - EOF in actions now generates an error m